﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace FoxCommerce.MVC.Domain.Entities
{
    public partial class Product
    {
        [Required, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }

        public string Name { get; set; }
        public string ShortDescription { get; set; }

        [DataType(DataType.MultilineText)]
        public string FullDescription { get; set; }

        public string AdminComment { get; set; }
        public bool ShowOnHomePage { get; set; }
        public string MetaKeywords { get; set; }
        public bool AllowCustomerReviews { get; set; }
        public bool AllowCustomerRatings { get; set; }
        public int RatingSum { get; set; }
        public int TotalRatingVotes { get; set; }
        public bool Published { get; set; }
        public bool Deleted { get; set; }

        [DataType(DataType.DateTime)]
        public DateTime CreatedOn { get; set; }

        [DataType(DataType.DateTime)]
        public DateTime LastUpdateTime { get; set; }

        public int DisplayOrder { get; set; }

        public virtual List<ProductRating> ProductRatings { get; set; }
        public virtual List<ProductVariant> ProductVariants { get; set; }
        public virtual List<ProductReview> ProductReviews { get; set; }
        public virtual List<ProductImage> ProductImages { get; set; }
        public virtual List<ProductTag> ProductTags { get; set; }
        public virtual List<RelatedProduct> RelatedProducts { get; set; }
    }
}